﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using SharpDiary.Core.Controls;

namespace SharpDiary.Core.Common
{
    public interface ISettingsUI
    {
        /// <summary>
        /// 收到其它模块发送来的消息后触发此事件。
        /// </summary>
        void OnMessageReceived(object sender, MessageReceivedEventArgs e);

        /// <summary>
        /// 获取模块设置界面实例。
        /// </summary>
        /// <returns></returns>
        SettingsControlBase GetUIInstance();

        /// <summary>
        /// 输入有效性检查。
        /// </summary>
        /// <param name="errorMessage"></param>
        /// <returns></returns>
        bool CheckIfInputOk(ref string errorMessage);

        /// <summary>
        /// 加载设置信息。
        /// </summary>
        void LoadSettingsInfo();

        /// <summary>
        /// 保存设置信息。
        /// </summary>
        /// <returns></returns>
        bool SaveSettingsInfo();
    }
}
